نمایش نتایج: از شماره 1 تا 1 از مجموع 1
Like Tree5نفر پسندیدند
  • 5 ارسال توسط Mehdi

موضوع: فايل Web.Config را بهتر بشناسيم

  1. #1
    بنیانگذار
    تاریخ عضویت
    2011 May
    محل سکونت
    بابل
    ارسال ها
    45
    تشکر
    275
    تشکر شده 87 بار در 39 پست


    آيا اين پست براي شما سودمند بود؟ بله | خیر

    فايل Web.Config را بهتر بشناسيم

    بيشتر برنامه‎های کامپيوتری تنظيمات خاص خود را در قالب مفهومی بنام Setup نگهداری می‎کنند. برنامه‎های ASP.NET هم از اين قاعده مستثنی نيستند و می‎توان کليه تنظيمات وب سايت را در قالب يک فايل از جنس XML بنام Web.Config نگهداری کرد. مقدمه

    بيشتر برنامه های کاربردی کامپيوتری دارای بخشی به نام Setup هستند که برای انجام تنظيمات متناسب با استفاده های مختلف کاربران مورد استفاده قرار می گيرد. برنامه های کاربردی مبتنی بر Web نيز که دارای کاربران زيادی هستند از اين قائده مستثنی نيستند و احتياج به انجام تنظيماتی متناسب با کاربردهای مختلف خود دارند.

    در ASP.NET اينگونه تنظيمات که مربوط به منابع مورد استفاده برنامه کاربردی، اطلاعات محلی، اطلاعات امنيتی و... می شوند در داخل يک فايل XML ذخيره می شوند که نام آن Web.Config است و طبعا به مانند اسناد XML شامل تعدادی تگ (معادل Tag در HTML) است و به کوچک و بزرگ بودن حروف نيز حساس است (Case Sensitive).

    در اين مقاله به اختصار به توضيح در مورد تگهای مهم اين فايل و چگونگی تنظيم خصوصيات مهم اين تگها و کاربردهای آنها می پردازيم. پيش از ادامه مطلب اين نکته را متذکر می شويم که اين فايل شامل تعداد زيادی تگ با خصوصيات مختلف است که هر يک به جنبه ای از يک برنامه کاربردی تحت Web مربوط هستند. در اين مقاله در مورد تگهای پرکاربرد و مهم اين فايل و خصوصيات مهم آنها اطلاعاتی ارائه شده است برای به دست آوردن اطلاعات بيشتر در مورد هر يک از تگها و خواص آنها بايد به منابع تخصصی مرتبط با هر بخش رجوع کرد.


    محل و محدوده عملکرد فايل Web.Config

    به طور طبيعی هر برنامه کاربردی Web در ASP.NET دارای حداقل يک فايل Web.Config در داخل دايرکتوری ريشه خود می باشد که به طور خودکار توسط Visual Studio .NET در زمان ايجاد اين Web Application ايجاد شده و با مقادير پيش فرض در دايرکتوری ريشه برنامه کاربردی قرار می گيرد. ولی برنامه نويسان می توانند بر حسب نيازها و کاربردهای برنامه های خود تعداد بيشتری از اين فايل XML را در داخل دايرکتوريهای مختلف برنامه ايجاد کنند و برای تنظيمات فايلهای داخل همان دايرکتوری يا زير دايرکتوريهای آن به کار گيرند.

    تنظيمات هر فايل Web.Config به فايلهای داخل زير دايرکتوری‎ای که در آن قرار دارد و همچنين زير دايرکتوريهای آن اعمال می شود. همچنين برنامه نويس می تواند از طريق کدهای داخل هر فايل Web.Config منابع و دايرکتوريهای مورد نظر را تغيير دهد. برای درک بهتر نحوه ارتباط فايلهای Web.Config در يک برنامه کاربردی Web، مثال زير را بيان می کنيم.

    اگر يک دايرکتوری به نام main و دو زير دايرکتوری به نام Sub1 و Sub2 در برنامه کاربردی موجود باشند که در درون هر کدام از اين دايرکتوريها يک فايل Web.Config قرار داشته باشد تنظيمات هر فايل Web.Config بر فايلهای داخل زير دايرکتوری آن اعمال می شود اما اگر در يک فايل Web.Config که داخل زير دايرکتوری Sub1 يا Sub2 قرار دارد يکی از تنظيماتی که در فايل Web.Config که داخل main قرار دارد صورت نگرفته باشد مقدار تنظيم شده در داخل فايل موجود در main به زيردايرکتوريها به ارث می رسد.

    نکته ای که بايد در اينجا به آن اشاره کرد اين است که کاربران برنامه وب به محتوای فايلهای Web.Config دسترسی ندارند.


    ساختار فايل Web.Config

    هر فايل Web.Config شامل يک بخش پايه است که همان دو تگ <configuration> و<configuration/> هستند و بقيه محتوا درون اين دو تگ قرار می گيرد. پس ساختار کلی هر فايل Web.Config به صورت زير است:

    کد:
    <configuration> <!--Some Configurations--> </configuration>

    محتوای هر فايل Web.Config شامل دو بخش اساسی است: معرفی و تنظيمات. بخش معرفی داخل دو تگ <configsectons> و <configsections/> قرار می گيرد و بخش تنظيمات، تنظيمات مربوط به منابع معرفی شده در اين تگها را شامل می شود.

    ابتدای فايل Web.Config و بعد از تگ <configuration> تگ <configsections> قرار دارد. داخل اين تگ و تگ جفت آن يعنی <configsectons/> تگهايی جهت معرفی منابع و اداره کننده قسمتها قرار دارد. حال که با ساختار کلی فايل Web.Config آشنا شديم در ادامه به توضيحاتی در مورد تگهای مهم اين فايل و خصوصيات آنها می پردازيم.


    Location

    پيشتر اشاره شد که تنظيمات هر فايل Web.Config بر فايلهای داخل ريشه اين فايل و زيردايرکتوری های آن اعمال می شوند، حال اگر بخواهيم تنظيمات يک فايل Web.Config را بر دايرکتوری خاصی اعمال کنيم تنها لازم است اين تنظيمات را داخل يک جفت تگ <location> و <location/> قرار دهيم يعنی شکل کلی استفاده از اين جفت تگ به صورت زير است:

    کد:
    <location path="url"> <!--Configurations--> </location>
    اطلاعات محلی

    از تگ <globalization> برای تعريف خصوصيات فرهنگی و زبانی برنامه کاربردی استفاده می شود. خواص مهم اين تگ عبارتند از:

    • culture: فرهنگ برنامه کاربردی را تعيين می کند.
    • requestencoding: شکل رشته های درخواست شده را تعيين می کند (برای مثال Unicode).
    • responseencoding: شکل رشته های پاسخ را تعيين می کند.


    تگهای امنيتی

    درون فايل Web.Config تگهايی جهت تنظيم مقادير و خصوصيات امنيتی برنامه کاربردی قابل تعريف هستند. جفت تگهای <authentication> و<authentication/> و <authorization> و<authorization/> ساختارامنيتی درون فايل Web.Config را می سازند که دارای خصوصيات و مقادير متفاوتی هستند که توضيح در مورد آنان به مباحث مقدماتی امنيت در ASP. NET بر می گردد ولی در زير توضيح کوتاهی از هر يک از اين جفت تگها ارائه می گردد.

    تگ <authentication>: اين جفت تگ به تعيين شکل تاييد اعتبار در برنامه کاربردی تحت Web می پردازد. از طريق خصوصيت mode که چهار مقدار Form ،Passport ،Windows و None را می پذيرد می توان شکل تاييد اعتبار را به ترتيب بر مبنای ساختار امنيتی IIS، سرويس تاييد اعتبار Passport شرکت مايکروسافت، استفاده از cookieها و بدون استفاده از سيستم امنيتی تعيين کرد.

    تگ <authorization>: اين جفت تگ برای تعيين کاربران واجد شرايط و يا فاقد شرايط ورود به محدوده تحت کنترل فايل Web.Config استفاده می شود. با استفاده از دو تگ <allow> و <deny> می توان کاربرانی که اجازه ورود به محدوده تحت حفاظت را دارند و فاقد اين اجازه هستند استفاده کرد.


    خطای زمان اجرا

    تگ <customerrors> جهت تعيين شکل عملکرد برنامه در زمان وقوع يک خطای پيش بينی نشده در زمان درخواست يک صفحه توسط کاربر به کار می رود. اين تگ دارای دو صفت مهم است که در زير توضيح داده شده اند.

    • mode: اين صفت جهت تعيين نوع عملکرد برنامه کاربردی در مواجهه با خطا به کار می رود و يکی از سه مقدار RemoteOnly ،On و Off را می گيرد. با تنظيم اين صفت با مقدار RemoteOnly در صورت بروز خطای زمان اجرا صفحه از پيش تعيين شده در قسمت defaultredirect برای کاربران نشان داده خواهد شد ولی کاربرانی که بصورت محلی از برنامه استفاده می کنند (مقابل سرور نشسته اند) صفحه خودکار ASP.NET و جزئيات خطا را خواهند ديد. با تنظيم اين صفت با مقدار On در صورت بروز خطای زمان اجرا همواره صفحه از پيش تعيين شده در قسمت defaultredirect نشان داده خواهد شد. با تنظيم اين صفت با مقدار Off صفحه خطای خودکار ASP. NET به نمايش در می آيد که از لحاظ امنيتی گزينه مناسبی نيست.

    • defaultredirect: آدرس Url فايلی را که برای نمايش خطا در زمان تنظيم خصوصيت mode با مقدار On يا RemoteOnly بکار می رود تعيين می کند.

    وضعيت جلسه کاری

    تگ <sessionState> برای تعيين وضعيت جلسه کاری مورد استفاده قرار می گيرد و مدت زمان يک جلسه کاری و همچنين شکل تعيين درخواست کاربران را تعيين می کند. از صفات مهم اين تگ يکی Cookiless است که تعيين می کند جلسه کاری کاربران از طريق Cookieها يا SessionID ها نسبت داده شوند که دو مقدار true يا false را می گيرد: true برای استفاده از SessionID و false برای استفاده از Cookie.

    خصيصه مهم ديگر اين تگ mode است که يکی از چهار مقدار زير را می گيرد:

    • Off: جلسه کاری غير فعال
    • Inproc: اطلاعات به صورت In-process ذخيره می شوند.
    • SQLServer: اطلاعات جلسه کاری توسط پايگاه داده SQL Server مديريت می شوند.
    • StateServer: اطلاعات توسط يک سرويس Out-Of-Process مديريت می شوند.

    خصوصيت مهم ديگر اين تگ timeout است که زمان اعتبار جلسه کاری هر کاربر را بر حسب دقيقه تعيين می کند.


    کامپايل برنامه کاربردی

    تگ <compilation> برای تعيين خصوصيات مربوط به شکل کامپايل برنامه کاربردی مورد استفاده قرار می گيرد که دو خصيصه مهم آن عبارتند از:

    • debug: يکی از دو مقدار true يا false را می گيرد (false پيش فرض است) و تعيين می کند که اطلاعات اشکال زدايی در اسمبلی های بعد از کامپايل قرار بگيرند يا خير. با تنظيم اين خصيصه با مقدار true اين کار صورت می گيرد. و با تنظيم اين خصيصه با مقدار false اين کار صورت نمی گيرد.
    • defaultlanguage: زبان برنامه نويسی مورد استفاده جهت کامپايل برنامه کاربردی (به صورت Dynamic) را تعيين می کند.

    Hossein, soroush, سعدی و 2 نفر دیگر این نویسه را می پسندند.

 

 

کاربران برچسب خورده در این موضوع

علاقه مندی ها (Bookmarks)

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  


Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0
Persian Language By Ustmb.ir
این انجمن کاملا مستقل بوده و هیچ ارتباطی با دانشگاه علوم و فنون مازندران و مسئولان آن ندارد..این انجمن و تمامی محتوای تولید شده در آن توسط دانشجویان فعلی و فارغ التحصیل ادوار گذشته این دانشگاه برای استفاده دانشجویان جدید این دانشگاه و جامعه دانشگاهی کشور فراهم شده است.لطفا برای اطلاعات بیشتر در رابطه با ماهیت انجمن با مدیریت انجمن ارتباط برقرار کنید
ساعت 12:26 AM بر حسب GMT +4 می باشد.